package com.example.demo.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.example.demo.entity.Employee;

@Mapper
public interface EmpDao {
    public int getempcount();
    //查询员工表中所有的员工
    public List<Employee> getEmps();
    
    //按条件查询
    public List<Employee> getEmpByType(@Param("empid1")Integer empid,@Param("Salary")Double Salary,@Param("firname")String firname);

    public List<Employee> getEmpByType1(Employee emp);
    
    public List<Employee> getEmpByType2(Map<String,Object> map);
    
    //表连接
    public List<Employee> getEmpBydept();
    
    //插入
    public int addEmp(Employee emp);
    public int deleteEmp(int empid);
    public int updateEmp(Employee emp);
    
    //员工id查询出一个员工对象，返回到controller,在controller中打印
    public Employee getempbyid(int empid);
    
    //基于springboot+mybatis+mysql mvc 三层架构 javaweb项目
    //三层架构:
    //0:实体层
    //1.数据访问层 dao
    //2.业务逻辑层
    //3.表示层（Controller+view）
    //1,2,3 数据三层架构的。其中表示层调用业务逻辑层调用数据访问层，实体层可以出现在三层架构的任意一层
    
    //mvc:
    //m:model(数据访问层+业务逻辑层+实体层)
    //v:view(view 纯html)
    //c:controller(springmvc控制器)
    
    //向部门表中插入条数据
    //删除部门表中一条数据
    //根据部门编号.写动态sql语句，修改部门表中的数据
    //根据部门编号，查询一条部门信息 ，展示到前端html页面
    
    
}
